A Comparison of Two Java Runtime Systems for Parallel Execution of ultithreaded Java Applications on Networks of Workstations
نویسندگان
چکیده
This paper assesses the performance of two Java frameworks for high performance computing (HPC) on networks of workstations (NOWs). The lottery-based work stealing algorithm is intrinsically distributed, and consequetly scalable to an extremely large number of participant workstations. Although proved to be near optimal for the distribution of well-structured multithreaded computations across large number of workstations, no claim has been made regarding the performance of the algorithm for a limited number of workstations or for relatively small computations. In this paper the performance of the lottery-based work stealing algorithm has been compared to that of a centralized work scheduling algorithm to determine whether the lottery-based algorithm is eÆcient across the board. It was found that, the centralized work scheduling algorithm is more eÆcient for small number of workstations. This conclusion suggests that HPC will bene t greatly by adopting a composite work scheduling algorithm. This composite algorithm could use the lottery-based work stealing algorithm to distribute computations across large networks, and a centralized algorithm to distribute within smaller networks.
منابع مشابه
Compile-time Optimization and Customization in Java and C + MPI
To achieve both of runtime efficiency and maintainability of large-scale and complicated software especially with dynamicity, portability, and concurrency, programmers have strong desire to customize and optimize their software as they need. For exmaple, they may need to perform platform-specific optimizations so as to adapt their software from embedded systems and hand-held devices all the way...
متن کاملTransparent Distributed Java
We describe our modi cations to the Ka e Java runtime to support transparent distribution of Java threads and objects across multiple processors and machines. We also discuss the design of a shared object system used by the Java runtime to provide transparent object sharing to Java applications. Although we also implemented a version for symmetric multiprocessors (SMPs), this paper focuses on a...
متن کامل.NET as a Platform for Implementing Concurrent Objects (Research Note)
JACO is a Java-based runtime system designed to study techniques for implementing concurrent objects in distributed systems. The use of Java has allowed us to build a system that permits to combine heterogeneous networks of workstations and multiprocessors as a unique metacomputing system. An alternative to Java is Microsoft’s .NET platform, that offers a software layer to execute programs writ...
متن کاملCoalescing Idle Workstations as a Multiprocessor System using JavaSpaces and Java Web Start
Many of an organisation's workstations spend the majority of their time either unused or relatively idle. If the wasted processing capacity of these workstations could be aggregated, it could be used to provide processing for computationally intensive applications. Such a system could potentially provide an inexpensive alternative to costly custom built parallel computers or clusters. This thes...
متن کاملJavaSplit: A Runtime for Execution of Monolithic Java Programs on Heterogeneous Collections of Commodity Workstations
This paper describes the design and presents the preliminary performance evaluation of JavaSplit, a portable runtime for distributed execution of multithreaded Java programs. JavaSplit transparently distributes threads and objects of an application among the participating nodes. Thus, it gains augmented computational power and increased memory capacity without modifying the Java multithreaded p...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2000